package cn.tk.model.pojo.mr.nlu;

import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

/**
 * Created by denglw on 2021/7/29.<br/>
 * Desc: nlu模型返回结果
 */
@Data @NoArgsConstructor
public class NluResp {

    /**
     * 一级意图
     */
    private InnerIntent primaryIntent;

    /**
     * 二级意图
     */
    private InnerIntent secondaryIntent;

    /**
     * 实体列表
     */
    private List<InnerEntity> entities;

    /**
     * 多轮场景统一标记为dialogue
     * 否则识别到什么场景就是该场景值
     */
    private String sceneFlag;


    @Data @NoArgsConstructor
    public static class InnerIntent {
        /**
         * 意图编码
         */
        private String intent;

        /**
         * 匹配率
         */
        private String prob;

        /**
         * 模型匹配类型：
         * 模型model
         * 规则rule
         * 继承inherit
         */
        private String type;
    }

    @Data @NoArgsConstructor
    public static class InnerEntity {
        /**
         * 实体编码
         */
        private String entityCode;

        /**
         * 原始值
         */
        private String originValue;

        /**
         * 归一值
         */
        private String value;

        /**
         * 模型匹配类型：
         * 模型model
         * 规则rule
         */
        private String type;

        public InnerEntity(String entityCode, String value) {
            this.entityCode = entityCode;
            this.value = value;
        }
    }

}
